export const sortType = {
  created: 'created', // 创建时间
  updated: 'updated', // 更新时间
  liked: 'vote', // 点赞数
  collected: 'collect', // 收藏数
  comments: 'comment', // 评论数
};

export const sortTypeCN = {
  created: '创建时间',
  updated: '更新时间',
  liked: '点赞数',
  collected: '收藏数',
  comments: '评论数',
};

export const orderType = {
  asc: 'asc', // 顺序（新在下）
  desc: 'desc', // 倒序
};

export const orderTypeIcon = {
  asc: 'sprite_icons_sort-lowest',
  desc: 'sprite_icons_sort-highest',
};

/* 这里的value下滑线前后对应后端的两个参数 */
export const spacesSort = [
  { value: 'liked_desc', cn: '最多点赞' }, // 第一个是默认项，这个顺序就是显示的顺序
  { value: 'updated_desc', cn: '最近更新' },
  { value: 'created_desc', cn: '最近创建' },
  { value: 'collected_desc', cn: '最多收藏' },
  { value: 'updated_asc', cn: '最早更新' },
  { value: 'created_asc', cn: '最早创建' },
];

export const issuesSortDefault = 'updated_desc';
export const issuesSortSeparate = [
  { value: 'updated', cn: '更新时间' },
  { value: 'created', cn: '创建时间' },
  { value: 'comments', cn: '讨论数' },
  { value: 'liked', cn: '点赞数' },
];

// 将上面非separate的类型变成 { updated_desc: '最近更新' } 这样的对象组成的数组
export const formatSortList = (listType) => {
  const obj = {};
  listType.forEach(item => Object.assign(obj, { [item.value]: item.cn }));
  return obj;
};

export const listType = { // 是对什么列表排序
  spaces: spacesSort,
  issues: 'issues',
};
